Function RENORM_SCAT

Package

scatutils

Short description

Renormalize a scattering coefficients by their parents

Usage

    S = renorm_scat(S)

Input

    S: A scattering transform.

Output

    S: The scattering transform with second- and higher-order coefficients
       divided by their parent coefficients.
function X = renorm_scat(X, epsilon, min_order)
	if nargin < 2
		epsilon = 2^(-20);		 ~1e-6
	if nargin < 3
		min_order = 2;
	for m = length(X)-1:-1:min_order
		for p2 = 1:length(X{m+1}.signal)
			j = X{m+1}.meta.j(:,p2);
			p1 = find(all(bsxfun(@eq,X{m}.meta.j,j(1:m-1)),1));
			sub_multiplier = 2^(X{m+1}.meta.resolution(p2)/2);
			ds = log2(size(X{m}.signal{p1},1)/size(X{m+1}.signal{p2},1));
			if ds > 0
				parent = X{m}.signal{p1}(1:2^ds:end,:,:)*2^(ds/2);
				parent = interpft(X{m}.signal{p1},size(X{m}.signal{p1},1)*2^(-ds))*2^(-ds/2);
			X{m+1}.signal{p2} = X{m+1}.signal{p2}./(parent+epsilon*sub_multiplier);

Description

See also

List of all packages